Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.util
Class Stack

    java.lang.Object
      |
      +--java.util.AbstractCollection
            |
            +--java.util.AbstractList
                  |
                  +--java.util.Vector
                        |
                        +--java.util.Stack

All Implemented Interfaces:
  Cloneable, Collection, List, RandomAccess, Serializable

public class Stack
extends Vector

The `Stack` class represents a last-in-first-out (LIFO) stack of objects. It extends class `Vector` with five operations that allow a vector to be treated as a stack. The usual `push` and `pop` operations are provided, as well as a method to `peek` at the top item on the stack, a method to test for whether the stack is `empty`, and a method to `search` the stack for an item and discover how far it is from the top.

When a stack is first created, it contains no items.

Since:
  JDK1.0
See Also:
  Serialized Form

Field Summary

Fields inherited from class java.util.Vector
`capacityIncrement, elementCount, elementData`

Fields inherited from class java.util.AbstractList
`modCount`

Constructor Summary
`Stack()` Creates an empty Stack.

Method Summary
`boolean` | `empty()` Tests if this stack is empty.
`Object` | `peek()` Looks at the object at the top of this stack without removing it from the stack.
`Object` | `pop()` Removes the object at the top of this stack and returns that object as the value of this function.
`Object` | `push(Object item)` Pushes an item onto the top of this stack.
`int` | `search(Object o)` Returns the 1-based position where an object is on this stack.

Methods inherited from class java.util.Vector
`add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, lastElement, lastIndexOf, lastIndexOf, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeRange, retainAll, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize`

Methods inherited from class java.util.AbstractList
`iterator, listIterator, listIterator`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.List
`iterator, listIterator, listIterator`

Constructor Detail

### Stack

    public Stack()

  Creates an empty Stack.

Method Detail

### push

    public Object push(Object item)

  Pushes an item onto the top of this stack. This has exactly the same effect as:

  >      addElement(item)

  Parameters:
    `item` - the item to be pushed onto this stack.
  Returns:
    the `item` argument.
  See Also:
    `Vector.addElement(java.lang.Object)`

### pop

    public Object pop()

  Removes the object at the top of this stack and returns that object as the value of this function.

  Returns:
    The object at the top of this stack (the last item of the `Vector` object).
  Throws:
    `EmptyStackException` - if this stack is empty.

### peek

    public Object peek()

  Looks at the object at the top of this stack without removing it from the stack.

  Returns:
    the object at the top of this stack (the last item of the `Vector` object).
  Throws:
    `EmptyStackException` - if this stack is empty.

### empty

    public boolean empty()

  Tests if this stack is empty.

  Returns:
    `true` if and only if this stack contains no items; `false` otherwise.

### search

    public int search(Object o)

  Returns the 1-based position where an object is on this stack. If the object `o` occurs as an item in this stack, this method returns the distance from the top of the stack of the occurrence nearest the top of the stack; the topmost item on the stack is considered to be at distance `1`. The `equals` method is used to compare `o` to the items in this stack.

  Parameters:
    `o` - the desired object.
  Returns:
    the 1-based position from the top of the stack where the object is located; the return value `-1` indicates that the object is not on the stack.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.